home *** CD-ROM | disk | FTP | other *** search
/ Chip 2011 November / CHIP_2011_11.iso / Programy / Inne / Gry / Carnage_Contest / scripts / CC Original / weapons / Brain Punch.lua < prev    next >
Text File  |  2010-08-31  |  3KB  |  80 lines

  1. --------------------------------------------------------------------------------
  2. -- Weapon Brain Punch
  3. -- Original Carnage Contest Weapon
  4. -- Script by DC, September 2009, www.UnrealSoftware.de
  5. --------------------------------------------------------------------------------
  6.  
  7. -- Setup Tables
  8. if cc==nil then cc={} end
  9. cc.brainpunch={}
  10.  
  11. -- Load & Prepare Ressources
  12. cc.brainpunch.gfx_wpn=loadgfx("weapons/uppercut.bmp")                        -- Weapon Image
  13. setmidhandle(cc.brainpunch.gfx_wpn)
  14. cc.brainpunch.gfx_icon=loadgfx("weapons/brainpunch.bmp")                    -- Weapon Icon
  15. setmidhandle(cc.brainpunch.gfx_icon)
  16. cc.brainpunch.sfx_attack=loadsfx("throw.ogg")                                -- Attack Sound
  17.  
  18. --------------------------------------------------------------------------------
  19. -- Weapon: Brain Punch
  20. --------------------------------------------------------------------------------
  21.  
  22. cc.brainpunch.id=addweapon("cc.brainpunch","Brain Punch",cc.brainpunch.gfx_icon,1)    -- Add Weapon (1 use)
  23.  
  24. function cc.brainpunch.draw()                                                -- Draw
  25.     -- Decrease Timer (used for arm animation)
  26.     if weapon_timer>0.0 then
  27.         weapon_timer=weapon_timer-0.5
  28.     end
  29.     -- Draw
  30.     if getplayeraction(0)==0 then
  31.         setblend(blend_alpha)
  32.         setalpha(1)
  33.         setcolor(255,255,255)
  34.         setscale(-getplayerdirection(0),1)
  35.         setrotation(0)
  36.         drawimage(cc.brainpunch.gfx_wpn,getplayerx(0)+getplayerdirection(0)*9,getplayery(0)+2-weapon_timer)
  37.     end
  38. end
  39.  
  40. function cc.brainpunch.attack(attack)                                        -- Attack
  41.     if (weapon_shots<=0) then
  42.         if (attack==1) then
  43.             -- No more weapon switching!
  44.             useweapon(0)
  45.             playsound(cc.brainpunch.sfx_attack)
  46.             weapon_shots=weapon_shots+1
  47.             -- Set timer for arm animation
  48.             weapon_timer=7
  49.             -- Collision (side)
  50.             col1=0
  51.             if collision(col5x5,getplayerx(0)+getplayerdirection(0)*20,getplayery(0)-3,0,1,0)==1 then
  52.                 if playercollision()~=0 and playercollision()~=playercurrent() then
  53.                     playerpush(playercollision(),getplayerdirection(0)*3,-5)
  54.                     playerdamage(playercollision(),30)
  55.                     playerstate(playercollision(),state_confused,1)
  56.                     playsound(sfx_splatter1)
  57.                     col1=playercollision()
  58.                     particle(p_ring,getplayerx(playercollision()),getplayery(playercollision()))
  59.                     particlecolor(255,0,0)
  60.                     blood(getplayerx(playercollision()),getplayery(playercollision()))
  61.                 end
  62.             end
  63.             -- Collision (top)
  64.             if collision(col20x20,getplayerx(0),getplayery(0)-30,0,1,0)==1 then
  65.                 if playercollision()~=0 and playercollision()~=playercurrent() and playercollision()~=col1 then
  66.                     playerpush(playercollision(),getplayerdirection(0)*3,-5)
  67.                     playerdamage(playercollision(),30)
  68.                     playerstate(playercollision(),state_confused,1)
  69.                     playsound(sfx_splatter1)
  70.                     particle(p_ring,getplayerx(playercollision()),getplayery(playercollision()))
  71.                     particlecolor(255,0,0)
  72.                     blood(getplayerx(playercollision()),getplayery(playercollision()))
  73.                 end
  74.             end
  75.             -- End Turn
  76.             endturn()
  77.         end
  78.     end
  79. end
  80.